查看原文
其他

Java 为什么不采用 360 垃圾清理来进行垃圾回收呢?

点击关注👉 Java核心技术 2023-02-26

戳这里,加关注哦~

最近,小编在刷知乎的时候,有一个"专业"问题映入我的眼帘:

这么专业的问题,我一时间竟不知道该如何回答。截至发文时,这个问题已经有40多万的浏览量了。

那么,我们来看看"人在美国,刚下飞机"的知乎大佬们都是怎么回答的呢?

@陈龙:

因为要跨平台啊。

如果jvm只有Windows就用360了!当初,SUN在这个问题上纠结了很久,最后发现理念不同。

JAVA是write once,run anywhere。

360 是install once,uninstallable forever。

@秋水鸣蛙自一天

360 垃圾清理会清理包括无用的注册表,临时文件,IE的浏览文件等众多垃圾文件,扫描位置多,且受制于磁盘 IO 影响,扫描时间很长,清理速度相对较慢。

如果 Java 使用 360 进行垃圾回收,那用 Java 写的程序都会面临很长的垃圾回收等待时间。比如用 Java 写的网站就会出问题,用户访问网站的时候,网页过个几分钟才出来,那这时候用户早崩溃了,所以不能使用 360 垃圾清理进行 Java 垃圾回收。

@易哥

其实360用来清理Java垃圾是不错的,但是程序员都不太喜欢用。

因为在运行时,360会一直显示“清理程度超过了35%的JVM。”而且这个数值基于大数据得出,比较有参考性。

于是这个数值,成了事实上的Java程序员考核标准。

于是,面试时,面试官会问“你是多少分的程序员?”

你的虚拟机超过了35%的虚拟机,你就是35分程序员。

你的虚拟机超过了98%的虚拟机,你就是98分程序员。

这对于分数低的程序员是赤裸裸打脸。于是,分低的程序员就不想用360回收垃圾。

渐渐的,凡是用360清理虚拟机垃圾的,都是大神。

于是,在大神之中,超越更多人得到一个高分变得更难。

这就是内卷产生的根本原因。

现在,真正的JAVA高手还是使用360清理虚拟机垃圾的。

而不敢用360清理虚拟机垃圾的程序员,都是垃圾程序员!

@萝魏紫

你都说了,360那都是垃圾清理,我们这是垃圾回收,我们是要弄回来再用的,360给扔了,这根本不对。

@熊熊是只土渐层

「你写的程序打败了全国20%的程序,是否需要清理垃圾?」

对于这个问题,你怎么看?

来源:https://www.zhihu.com/question/36014646

最后给大家送下福利,大家可以关注Java核心技术公众号,在后台回复 “福利”可以获取一份我整理的最新Java面试题资料。

最近好文分享

1、面试竟然问我 new 一个对象背后发生了什么?
2、面试必问:Java 是如何实现线程间通信的?

3、表妹 10 分钟看懂 NIO 底层原理,你呢?
4、if(a==1且a==2且a==3),有没有可能为 true?

5、用 Java 实现每天给对象发情话,有点意思...
6、熟练掌握 MyBatis-Plus,看这一篇够够的了!

……
更多请扫码关注 • Java核心技术
一个分享Java核心技术干货的公众号

点击阅读原文获取面试题~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存